package com.shop.ken.common.util;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PublicKey;
import java.security.SecureRandom;

/**
 * 项目名称：shop-server
 * 文件名称：RSAUtil
 * 日期：2017/9/12
 * Copyright ©2017, 广州职赢未来信息科技有限公司 All Rights Reserved.\
 * <p>
 * <p>
 * 功能描述：RSA工具类
 * 创建人: 霍梓潮
 * 创建时间：2017/9/12
 **/
public class RSAUtil {

    /**
     * 生成密钥对
     *
     * @return java.security.KeyPair
     * @author 霍梓潮
     * @Date 2017-09-12 14:22:20
     */
    public static KeyPair generateKeyPair() throws Exception {
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", new BouncyCastleProvider());
        final int KEY_SIZE = 1024;
        keyPairGenerator.initialize(KEY_SIZE, new SecureRandom());
        KeyPair keyPair = keyPairGenerator.generateKeyPair();
        return keyPair;
    }

    /**
     *  获取公钥Str
     * 
     * @param publicKey  
     * @return java.lang.String
     * @author 霍梓潮
     * @Date 2017-09-12 14:24:59
     */
    public static String getPublicStr(PublicKey publicKey) {
        String str = publicKey.toString();
        return str.substring(str.indexOf(":") + 1, str.indexOf("public")).trim();
    }


}
